CVE-2023-54140
nilfs2: fix WARNING in mark_buffer_dirty due to discarded buffer reuse
Description
In the Linux kernel, the following vulnerability has been resolved: nilfs2: fix WARNING in mark_buffer_dirty due to discarded buffer reuse A syzbot stress test using a corrupted disk image reported that mark_buffer_dirty() called from __nilfs_mark_inode_dirty() or nilfs_palloc_commit_alloc_entry() may output a kernel warning, and can panic if the kernel is booted with panic_on_warn. This is because nilfs2 keeps buffer pointers in local structures for some metadata and reuses them, but such buffers may be forcibly discarded by nilfs_clear_dirty_page() in some critical situations. This issue is reported to appear after commit 28a65b49eb53 ("nilfs2: do not write dirty data after degenerating to read-only"), but the issue has potentially existed before. Fix this issue by checking the uptodate flag when attempting to reuse an internally held buffer, and reloading the metadata instead of reusing the buffer if the flag was lost.
INFO
Published Date :
Dec. 24, 2025, 1:16 p.m.
Last Modified :
Dec. 24, 2025, 1:16 p.m.
Remotely Exploit :
No
Source :
416baaa9-dc9f-4396-8d5f-8c081fb06d67
Affected Products
The following products are affected by CVE-2023-54140
vulnerability.
Even if cvefeed.io is aware of the exact versions of the
products
that
are
affected, the information is not represented in the table below.
No affected product recoded yet
Solution
- Check buffer uptodate flag before reuse.
- Reload metadata if flag was lost.
- Apply kernel patch to fix nilfs2 issue.
- Update the Linux kernel.
References to Advisories, Solutions, and Tools
Here, you will find a curated list of external links that provide in-depth
information, practical solutions, and valuable tools related to
CVE-2023-54140.
CWE - Common Weakness Enumeration
While CVE identifies
specific instances of vulnerabilities, CWE categorizes the common flaws or
weaknesses that can lead to vulnerabilities. CVE-2023-54140 is
associated with the following CWEs:
Common Attack Pattern Enumeration and Classification (CAPEC)
Common Attack Pattern Enumeration and Classification
(CAPEC)
stores attack patterns, which are descriptions of the common attributes and
approaches employed by adversaries to exploit the CVE-2023-54140
weaknesses.
We scan GitHub repositories to detect new proof-of-concept exploits. Following list is a collection of public exploits and proof-of-concepts, which have been published on GitHub (sorted by the most recently updated).
Results are limited to the first 15 repositories due to potential performance issues.
The following list is the news that have been mention
CVE-2023-54140 vulnerability anywhere in the article.
The following table lists the changes that have been made to the
CVE-2023-54140 vulnerability over time.
Vulnerability history details can be useful for understanding the evolution of a vulnerability, and for identifying the most recent changes that may impact the vulnerability's severity, exploitability, or other characteristics.
-
New CVE Received by 416baaa9-dc9f-4396-8d5f-8c081fb06d67
Dec. 24, 2025
Action Type Old Value New Value Added Description In the Linux kernel, the following vulnerability has been resolved: nilfs2: fix WARNING in mark_buffer_dirty due to discarded buffer reuse A syzbot stress test using a corrupted disk image reported that mark_buffer_dirty() called from __nilfs_mark_inode_dirty() or nilfs_palloc_commit_alloc_entry() may output a kernel warning, and can panic if the kernel is booted with panic_on_warn. This is because nilfs2 keeps buffer pointers in local structures for some metadata and reuses them, but such buffers may be forcibly discarded by nilfs_clear_dirty_page() in some critical situations. This issue is reported to appear after commit 28a65b49eb53 ("nilfs2: do not write dirty data after degenerating to read-only"), but the issue has potentially existed before. Fix this issue by checking the uptodate flag when attempting to reuse an internally held buffer, and reloading the metadata instead of reusing the buffer if the flag was lost. Added Reference https://git.kernel.org/stable/c/46c11be2dca295742a5508ea910a77f7733fb7f4 Added Reference https://git.kernel.org/stable/c/473795610594f261e98920f0945550314df36f07 Added Reference https://git.kernel.org/stable/c/4da07e958bfda2d69d83db105780e8916e3ac02e Added Reference https://git.kernel.org/stable/c/99a73016a5e12a09586a96f998e91f9ea145cd00 Added Reference https://git.kernel.org/stable/c/b308b3eabc429649b5501d36290cea403fbd746c Added Reference https://git.kernel.org/stable/c/b911bef132a06de01a745c6a24172d6db7216333 Added Reference https://git.kernel.org/stable/c/cdaac8e7e5a059f9b5e816cda257f08d0abffacd Added Reference https://git.kernel.org/stable/c/d95e403588738c7ec38f52b9f490b15e7745d393 Added Reference https://git.kernel.org/stable/c/f1d637b63d8a27ac3386f186a694907f2717fc13